home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 44 / Amiga Format CD44 (1999-08-26)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-10].iso / -in_the_mag- / basics / amos / amcaf150final.lha / AMCAF_Examples / ScreenTrans.AMOS / ScreenTrans.amosSourceCode < prev   
AMOS Source Code  |  1999-03-01  |  1KB  |  54 lines

  1. ' Change this size if you're cpu is too slow...  
  2. WX=256 : WY=256
  3. Screen Open 0,320,256,4,0
  4. Curs Off : Flash Off : Paper 0 : Pen 1 : Cls 
  5. Palette $F,$FFF,$F00,$F0
  6.  Extension_8_1846 11,64000
  7. If Length(9)=0
  8.    Extension_8_0E8A 8 To 9
  9. '  Alloc Trans Source 9
  10. '  Reserve As Data 9,128*1024
  11. '  Ink 1,0 
  12. '  For Y=0 To 31 
  13. '    Text Y*4,Text Base+Y*8,"HALLO TEST 1 2 3" 
  14. '  Next  
  15. '  For Y=0 To 255
  16. '    For X=0 To 255
  17. '      Poke Start(9)+X+Y*256,Turbo Point(X,Y)
  18. '    Next  
  19. '  Next  
  20. '  Copy Start(9),Start(9)+64*1024 To Start(9)+64*1024
  21. End If 
  22.  Extension_8_1814 10,WX,WY
  23. ST=Start(10)
  24. Gosub CALCMAP
  25. Y=0
  26. Timer=0
  27. Colour 0,$8
  28. For A=1 To 1000
  29. '  Wait Vbl  
  30.    Extension_8_17FC Start(9)+Y*256
  31. '  Trans Screen Dynamic 0,0,16,0 
  32. '  Call Start(11)
  33.    Extension_8_185E 0,0,16,0
  34.   Add Y,1,0 To 255
  35. Next 
  36. Print Timer
  37. End 
  38. CALCMAP:
  39. '  Vec Rot Pos 0,0,512 
  40. '  Vec Rot Angles AX,AY,AZ 
  41. '  Vec Rot Precalc 
  42.   For Y=0 To WY-1
  43.     For X=0 To WX-1
  44.       PX=X+ Extension_8_1106(X*4+Y*3,32)
  45.       PY=Y+ Extension_8_1114(Y*5+X*7,24)
  46. '      PX=((X-WX/2)*50)/((Y+20))+WX/2
  47. '      PY=Y
  48. '      PX=Vec Rot X(X*2-WX,Y*2-WY,0)+128 
  49. '      PY=Vec Rot Y+128
  50. '      Doke ST+(X+Y*WX)*2,Vclip(PX,0 To 255)+Vclip(PY,0 To 255)*256-$8000
  51.       Doke ST+(X+Y*WX)*2,PX+PY*256
  52.     Next 
  53.   Next 
  54. Return